package com.zzjson.objectfactory;

import com.zzjson.domain.Blog;
import org.apache.ibatis.reflection.factory.DefaultObjectFactory;

/**
 * <p>****************************************************************************</p>
 * <p><b>Copyright © 2010-2019 shuncom team All Rights Reserved<b></p>
 * <ul style="margin:15px;">
 * <li>Description : 自定义ObjectFactory，通过反射的方式实例化对象
 * 一种是无参构造函数，
 * 一种是有参构造函数——
 * 第一个方法调用了第二个方法</li>
 * <li>Version     : 1.0.0</li>
 * <li>Creation    : 2019年07月09日</li>
 * <li>@author     : zzy0_0</li>
 * </ul>
 * <p>****************************************************************************</p>
 */
public class MyObjectFactory extends DefaultObjectFactory {
	@Override
	public Object create(Class type) {
		System.out.println("创建对象方法：" + type);
		if (type.equals(Blog.class)) {
			Blog blog = (Blog) super.create(type);
			blog.setName("object factory");
			// blog.setBid(1111);
			// blog.setAuthorId(Enum.);
			blog.setFuck("fuck");
			return blog;
		}
		Object result = super.create(type);
		return result;
	}
}
